"""笔记管理模块的URL路由配置

基于前端业务需求重构的API路由。
完全匹配前端接口需求和新的视图结构。
"""

from django.urls import path, include
from rest_framework.routers import DefaultRouter

from .views import (
    FolderViewSet,
    NoteViewSet,
    ShareLinkViewSet,
    SharedContentView
)

# 创建路由器
router = DefaultRouter()
router.register(r'folders', FolderViewSet, basename='folder')
router.register(r'notes', NoteViewSet, basename='note')
router.register(r'share-links', ShareLinkViewSet, basename='sharelink')

app_name = 'notes'

urlpatterns = [
    # 包含路由器生成的URL
    path('', include(router.urls)),
    
    # 共享内容访问（匿名访问）
    path('shared/<str:share_id>/', SharedContentView.as_view(), name='shared-content'),
]

# API路由说明：
# 
# 文件夹管理：
# GET    /api/v1/folders/              - 获取文件夹列表
# POST   /api/v1/folders/              - 创建文件夹
# GET    /api/v1/folders/{id}/         - 获取文件夹详情
# PUT    /api/v1/folders/{id}/         - 更新文件夹
# DELETE /api/v1/folders/{id}/         - 删除文件夹
# POST   /api/v1/folders/{id}/share/   - 创建文件夹共享链接
# DELETE /api/v1/folders/{id}/unshare/ - 取消文件夹共享
# 
# 笔记管理：
# GET    /api/v1/notes/                - 获取笔记列表
# POST   /api/v1/notes/                - 创建笔记
# GET    /api/v1/notes/{id}/           - 获取笔记详情
# PUT    /api/v1/notes/{id}/           - 更新笔记
# DELETE /api/v1/notes/{id}/           - 删除笔记
# POST   /api/v1/notes/search/         - 搜索笔记
# POST   /api/v1/notes/{id}/share/     - 创建笔记共享链接
# DELETE /api/v1/notes/{id}/unshare/   - 取消笔记共享
# 
# 共享链接管理：
# GET    /api/v1/share-links/          - 获取共享链接列表
# POST   /api/v1/share-links/          - 创建共享链接
# GET    /api/v1/share-links/{id}/     - 获取共享链接详情
# DELETE /api/v1/share-links/{id}/     - 删除共享链接
# 
# 共享内容访问：
# POST   /api/v1/share/{share_id}/     - 访问共享内容（支持密码）